BanniΦre dΘcorative

Save and increment (enregistrement et incrémentation)


    Ce script enregistre automatiquement une nouvelle copie du projet After Effects ouvert et incrémente un numéro à trois chiffres contenu dans son nom afin de le distinguer de ses versions précédentes. Ce script est enregistré sous le nom save_and_increment.jsx sur le CD-ROM d'installation.

    La première étape consiste à déterminer si le projet ouvert a déjà été sauvegardé. Cette vérification s'effectue au moyen d'une instruction d'ouverture if/else. La première condition, "!app.project.file" indique que si le projet n'a pas été sauvegardé, un message d'alerte demandant à l'utilisateur de sauvegarder le projet s'affiche et le script s'arrête.

    if (!app.project.file) {
        alert ("Ce projet doit être sauvegardé avant d'exécuter ce script.");

    Ensuite, si le projet a déjà été sauvegardé au moins une fois, des variables sont définies pour pointer sur le nom du fichier et sur le numéro, et l'extension de fichier à y ajouter. Le code JavaScript lastIndexOf() recherche une chaîne vers l'arrière (de la fin vers le début) et, dans ce cas, recherche le point séparant le nom de l'extension.

    } else {
        var currFile = app.project.file;
        var currFileName = currFile.name;
        var extPos = currFileName.lastIndexOf(".");
        var ext = "";
       

    La variable currFileName est ensuite définie avec le nom en cours, avant le point.

        if (extPos != -1) {
            ext = currFileName.substring(extPos, currFileName.length);
            currFileName = currFileName.substring(0, extPos);
        }
       

    Le script définit alors une variable qui incrémentera les versions en commençant à 0, puis vérifie s'il existe un caractère de soulignement à une distance de quatre caractères de la fin du currFileName. Si c'est le cas, le script estime que l'incrémenteur a déjà été exécuté, étant donné qu'il a pour action d'attribuer un suffixe de 3 chiffres après un caractère de soulignement incrémenté d'un point de plus par rapport au dernier suffixe. Dans ce cas, l'incrémenteur est défini à la chaîne numérique courante et le nom est extrait sans cette extension numérique.

        var incrementer = 0;
        if (currFileName.charAt(currFileName.length -4) == "_") {
            incrementer = currFileName.substring(currFileName.length - 3, currFileName.length);
            currFileName = currFileName.substring(0, currFileName.length -4);
        }
       

    Le script ajoute alors une boucle d'incrémentation et vérifie si le numéro est passé à deux ou trois chiffres (par exemple, si le numéro a atteint _010 ou au-delà, ou _100, ou au-delà), et attribue un zéro pour chacun dans le cas contraire.

        incrementer++;
        var istring = incrementer + "";
        if (incrementer < 10) {
            istring = "0" + istring;
        }
        if (incrementer < 100) {
            istring = "0" + istring;
        }
       

    Enfin, le script crée un nouveau fichier utilisant le nom et l'extension mis à jour, affiche un message d'alerte informant l'utilisateur du nouveau nom de fichier sauvegardé et enregistre le projet sous le nouveau nom de fichier.

        var newFile = File(currFile.path + "/" + currFileName + "_" + istring + ext);
        alert(newFile.fsName);
        app.project.save(newFile);
    }